#ifndef __MYFILE_STDIO_H__
#define __MYFILE_STDIO_H__ 

#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>

// 缓冲区
#define SIZE 1024
#define FLUSH_NOW 1
#define FLUSH_LINE 2
#define FLUSH_ALL 4

typedef struct IO_FILE{
    int _fileno;     // 文件描述符
    
    int flag;       // 刷新方式

    char inbuffer[SIZE];    // 输入缓冲区
    int in_pos;             // 操作输入缓冲区时对应位置
    char outbuffer[SIZE];   // 输出缓冲区
    int out_pos;            // 操作输出缓冲区时对应位置

}_FILE;

_FILE* _fopen(const char* filename, const char* flag);
int _fwrite(_FILE* fp, const char* str, int len);
void _fclose(_FILE* fp);

#endif 


